initial code commit... lots to do