add parameter and variable compiler