added a few structs for building k buckets