need improvement for session; added constants;