a lua constraint satisfaction framework