Restructuring of the whole project to get out component as individual reusable part