reduce linux's implementation