prototype parser