add ! flag for function keyword