added cstring header, apparently required by gcc