added abstraction for user object
added new build