resolved #2; resolved #10; resolved #11; resolved #13