complete overhaul to include routing