added a helpers and added trigger + target argument to callback