Added abstract functionality to all current methods.