convert categories and ranks to come from express api and fix edge controller to use promises