sio.h only contains interface