everything works
various iterations