now passing all tests except 02, 11, 14, 15, 16