final commit. Functional Program