add unit tests for expected funtionality