Basic structure, tests and examples