modularized game engine