Большая часть этого забэкаплена в офлайне. Пишите, и дано вам будет :)