Initial code checkin

Add the basic framework classes