initial checkin, add the common and based class