fixed some bug and updated UML