lots of updates with new requirement