Implement IR