make guard work again
do not override keys method
move nesting to node