versuhka's work and yashu's updates