+ recursive element tree