added some extra locks and explanation, button mashing bug seems to be fixed...