make this a little more compatible with c99