Implement interfaces properly