add header guards
fix aborts caused by std::vector using STD instruction