More code in unit test and added the initial implemenation (not completed yet)