oops. forgot to use interfaces correctly