moved program validation to _build