total overhaul - things might actually work now