use vector for buckets, use assert.h in tests, Makefile for tests