added TreeStep, tests, and various optimization tweaks around holders.