support 3.16 kernel