уже обсуждали, вот как сейчас сделано, это и есть оптимальный вариант.