better update_or_create metthod for Session