more cleanup, add waterwheel engine basics