initial checkin; TODO tests and view and more choices