add proper intro and explain function variables