reimplemented the startup.lua