Sometimes the hardest thing and the right thing are the same.
It is easier to change the specification to fit the program than vice versa.