pass is not always required