rename some *With functions to *By

Closes #509