fully working procedural tree creation