use "hook" function so that the expansion char is not inserted