using currentTarget instead of target