Refactored to add support for extra handlers