implement sw