implemented function expression and fixed program node to allow multiple entries