added required checks