initial checkin

still very alpha