implement Parse