way better api format