now handles multiple arguments