use new compiler features