another huge overhaul... framework done