fix a hashtable bug: bucket should be power of 2; --size if deleted