modify to support type specifier declaration