created seperate public scope in components close #27