Another thing to note is, program hangs before even reaching to the points of code suggested where stack overflow might occur.
getProgCodes is subroutine and returns with normal return at all execution instances
same is the case with execute