this is an overlapping feature which is already solved when using "wake on access" function. it could/should probably be refactored into a more unified solution