added more Node types and depth to walking down

updated based on PR comments + new str func for program

added space around the binops in program.__str__