add hashcode to avoid duplicate loading