Added static factory method instead of User constructor