Implement base model completly