Changed implementation to have properties on user