removed pure declarations so it compiles with dmd head