added node generation method