need to fix transaction