composable functions can accept query parameters