algorithm is used for software.