Есть стандартные средства решения этой задачи, но они работают не так как хочется. Есть ли какое-либо проверенное средство для решения данной задачи?