Add tests. Not passing yet.