fix bug: deserialize nested objects