refactor: put components into array