重新變更結構，加入多平台支援（目前 Windows + Unix）