first version could be compiled and run