Наверное, это очень сложная задача, для того чтобы обсуждать и объяснять ее здесь, на форуме