added some tests
update uml