Split code in multiple files, add lazyload as submodule