use .on() for events delegation instead of .find().live()