compartmentalizing parameter handling