started documenting the public interface of the contract library
fixed a typo
added documentation for public functions
documentation for public macros
updated documentation for public macros
commented the implemenation
Merge branch 'feature/doc' into develop