Refactor Future mapping + return error messages