Add tests and fixes bugs find when testing.