The Andorra model is a parallel logic programming computational model combining both dependent and-parallelism and or-parallelism. Andorra-I is a prototype parallel implementation of this model for sequential and shared memory architectures which supports the Andorra-I Prolog language, an extension of Full Prolog. In this report we describe the implementation of this system, which consists of several well-defined modules: the engine, the schedulers and the preprocessor. In describing the engine, a goal-stack based interpreter, we concentrate on the new features designed to support parallelism. We next describe the schedulers designed for Andorra-I, i.e. the and-scheduler which distributes work in the same or-branch, and the top-level scheduler, which manages the global configuration of workers in the search tree. The or-schedulers used in Andorra-I were simply ported from Aurora. Finally, the preprocessor consists of three modules: an abstract interpretation system, which collects the mode patterns for each procedure, a sequencer, which guarantees correct execution of traditional Prolog program, and a determinacy code compiler.