hover photo + refactor