working spec for normal transactions