issue #2: initial
issue #2: added unittests to show
issue #2: added more tests
issue #2: more tests included