added and passed more unit tests