mostly coded...now test