modified and updated all class names, variable names, fields, etc.