С одной стороны, это классика велосипедостроения.
А с другой стороны, многие ли из нас не изобретали свои велосипеды?
Топикстартеру желаю учиться, практиковаться, грамотно ставить себе задачи, грамотно их решать.
Что касается ответа на поставленный вопрос, думаю, надо сделать, как сказал arcfi.
Удачи!