add key gather methods