This paper discusses implementation issues concerned with a new abstract machine for executing functional logic programs. The machine supports a pure rewriting computational model in the style of the programming language Escher. It is based on a simplified version of the Spineless Tagless G-Machine which was developed for the implementation of higher-order, lazy, purely functional languages. The simplification is closer to conventional graph reduction, makes the machine model easier to modify, and is flexible enough for later optimisation. The paper shows how to add a representation for variables, a technique to deal with not sufficiently instantiated variable arguments in function calls and a mechanism to handle pattern matching on function symbols. It studies how the rewrite rules defining the logical features of Escher can be implemented, and also addresses the integration of sharing into a machine model that supports rewriting in the presence of variables.