my own version of slock