added sequence diagram