Ще не закінчив, але закидую те що зробив.