football components refactor