changed to require seperately