First compiling version (but tests still to pass)