a little bit of c89