added block-based event listeners
added more 'description' methods