add remianing unit tests