initial checkin

first version, should work.