refactor / clean / state