refactor: Better component structure