design : mention imperative transaction objects