Added clone function.
Only define property when it's not already defined.
Added comment to makeProprt method.
Added comment to makeProperty method.
Fixed merge conflict.