abstract storage behind tempo