seperate ioctl.go