Proper interface implementation.