firs alternative constraint implementation