Probably need an interface, no?