на данный момент самый оптимальный это способ от Никодима, здесь же в ветке выложен