Extracted survey generation into seperate method