removing varargs for type safety