modified for fitting new operating system