Add cache layer to api