constraint programming -- completed but buggy