Also refactor some functions that are different to call the base version and then do additional processing. However this process has not been carried out on all methods at this point.