Changed interface to not use classes