- move out shared functions to shared templates - remove useless classes - simplify - various cleanups & enhancements