interfaces are public