implement and test candidate move filtering