de-serialize using mirrors