I actually probably made a disastrous design issue here :( as I was giving priority to port FileLock more easily and was not giving priority to lock simplification, I guess, thats a mistake I made, will fix this lock staff in next round, at least will try.