full json api and better layout