corrected length bug and def turned into vals where possible
depth controlled composition implemented using per-level operator
added test files for depth controoled composition