Refractored User and Page models