нефиг придумывать велосипед, все уже придумано