add tests for getters/setters, bugfix, refactor - its WIP