what's the point of this empty interface?