added documentation, started engine class tree