Interim checkin
Interim checkin; major cleanup/refactor on the way