A more functional hierarchy widget