Added more tests and fixed a bug.