Refactor - organize the code
1. create common component