gas drag implementation