trying to fix transactional behaviour