lockscren refactory WIP