Updated: introduce SessionInput to use instead of query params