Есть 2 хороших поста. Писать в лом.