added recfun + pascal assignment