Added documentation
reformatted readme using markdown for code
merged with upstream changes in assert