new interface for penalty and constrain