Revision for poject 4. Added three complete use cases