added create line following
C++ is also no longer supported so port everything to c
also create_drive_direct is reversed