added UML diagram of system