Тут уже лежит такая тема, поэтому нет смысла пихать все в одну.