add descriptor parser