add engine, time, tick modules (working on #1)