tools function by aholic