this is not the same. the return value needs to be an instance of context.