Changed listener, added new argument constructors, fixed executeall method