spec and examples