Supervision Tree

big refactor

:construction: