Refactored how it works and hero