fixed node constructor (more idiomatic)