trying with transaction instead of new session