handle vs. when