significant speed ups for some methods