Changed interface to no longer be dependent on all sorts of weird classes