initial implementation is done with 44% code coverage for unit tests