better omni api structure