add function to handle bucket split, modified getter and setter