reworked core code
further extended test suite
upped version