should be done, double checking requirements