added alias and some Algorithm