Przepraszam, że jeszcze się tego czepiam, ale nie lubię funkcji zwracających "specjalną" wartość przy błędzie (wcześniej było chyba true/false?). Możemy po prostu porzucać trochę?