makes it work on newer architectures