finished use cases 1-7 and 12