nested block comments
handle shebangs properly