use gnode Programmatic API, fixes #47