added abstraction for lockscreen