Added some specs and edoc.
Refactored and Updated edoc.