Прокомментируйте, пожалуйста.
По какому принципу вы отделяете acceptable от не-acceptable?
Чуть ниже есть код, который не смотрит на acceptable. Непонятно.