able to handle multiple arg inputs