rewritten whole content, added instruction for Linux