For build
layout
impl abstruct methods
impl updateCounter