user Model and tests