First Version (BaseEntity & User classes)