basic idea of advanced var and func