Implement compiler