Ast modified to include functional blocks. Statement blocks still unimplemented.