Mostly working- need to fix check all behavior