moved what were previously extension methods to the actual interfaces and classes, since it is now the wholly appropriate home for them