without session.c