Updated documentation. Now with class diagram.