reszta poprawek i implementacja