updated hero with better def