Brady algorithm