changed trove to event emiitter