progress session logic