fix: add multi level subdocuments parsing