more compact `sw`