make it more like v3 api style