Wstępna działająca wersja (do poprawki parę błędów logiki)