some progress on the implementation and unit tests

Signed-off-by: Spyros Gasteratos <morfeas3000@gmail.com>