Shearer Algorithms