add task
add const and restrict qualifiers to function prototypes
refactor kind enum name for node