modified
change names and documentation