added arguments processing