refactored Bart to BartState