adding bucket support, insert, remove, and search and test cases