implementation can do that