removed passing ignoreRoot in constructor safety code
removed double declaration of variables by combining some code
Added way to add execute listeners to the client directly