better organisation
handle node errors
improve ui