http://techiworks.com/what-are-different-ways-to-create-object/