done: add functionality and its unit testing