stack based execution: factorial