making things functional