moved sampling logic into GSN class (rather than driver)