GOOPS is the object-oriented extension to Guile. Its implementation is derived from STk and Tiny-Clos. It is very close in spirit to CLOS (the Common Lisp Object System) but is adapted for the Scheme language. While GOOPS is not compatible with any of these systems, GOOPS contains a compatibility module which allows for execution of STKlos programs. Briefly stated, the GOOPS extension gives the user a full object oriented system with multiple inheritance and generic functions with multi-method dispatch. Furthermore, the implementation relies on a true meta object protocol, in the spirit of the one defined for CLOS.