Таких тем уже много, все варианты давно описаны.