Implement facade and template