added event dispatchers (closes #8)