added a whole bunch of methods with a first attempt at signatures. Some of the arguements and class fields are obviously placeholders pending a decision on how they should actually be implemented