HUGE OVERHAUL FOR HANDING IN