handle calendar changes properly (untested)