copied from kernel
commented out functons