first crack at forward-checking