feature: functional and unit tests added