implied prperty functions. added comments

Moved implied property logic into separate functions. Added lots of inline comments while reading.