added arguments parsing