merged code of finelauncher fork