Huge update part 1