Added unit test and required lib