separate main state