redesigned data type passing, now it's in a single class instead of
several different objects being cascaded