Reworked this with an implicit and a varargs func to make it a bit prettier/more generic