zmiany: dodanie abstrakcji, naprawa błędów ...