many changes, switched to an context based design.