added uthash and moved into header