adding csp solver