Add some tests and implement so they work.