working on recursive fields