why pass undefined?