add arguments processing