refactor, settings should work on arm64 now