use parameters instead of session