Complete overhaul

Almost complete -- needs final touches and balancing