working on Transaction - removing extra sprintf and using the * width flag