added capability for creating custom events