Should this be an interface?