added preprocessor filters to make it compile under linux versions earlier than 3.9 as well (tainted)