added on readystatechange + some