Implement the required functions