functions no longer need to take a monitor as an argument