немного переделал сами компоненты ( соглашения  )