Port session stuff to service