basic framework of nodes done