began refactor of engine, started with preference page