This will be put elsewhere later: Hard Constraints base programming