Begin complete overhaul, eliminating pointers