could this be an interface?