Feature/parametereized hashable