minor changes to class structures and naming