changed bucket implementation