Fixed issue by  #1 by tazgr, completed tests, minor API change