parseProgram and parseBlock are working