Added c89 compatibility