howto waste 6h? implement this tree differ...)