modify ast construction's methods