Improve User Model and Test