ully implemented sw,lw