as i said, this is only idea. if there is no better ideas i start implement this from the scratch =)