rename variables, add methods