added arguments count check