pierwsza działająca prawie poprawnie wersja