somewhat broken but compiling parser