refacto + update build