added diagrams and some requirements