better arguments handling