working on richer structure