added better interface and the ability to make a pre hashed list