add sio helper, structure nesting to arbitrary depth