add parameter collection logic