main body of parser