* Brings us largely in line with what is supported by the implementation * Adds unit tests By: md_5 <git@md-5.net>