Implement remaining functions