cleaned code, using submodule for sample project