- moved all logic into the locks