explicitly pass deep arg