forward checking works