Посмотри здесь могу что то улучшить или дописать какие то другие функции http://roma-x1x.livejournal.com/10400.html