functional programming 1, use function and struct