Basic tests and impl etc.