unary algo template