First design, added User class