added :before fn, simplified keyargs' names