create generic profile object which handles basic business logic