removed possible memeory leak with .on