doing some more implementations, still not compiling