updated several member methods to properly handle optional arguments