Implement base functionality.