Try and improve apis for trees a bit

still not very good though