provided varargs constructors for easy of use