include <cstring> for windows