huge update by kitty