fix callback bugs. Only do callback once
convert 4 spaces to tabs