compiling initial implementation