sw implemented