porting parser structure