[FEATURE] introduce the notion of transaction