split read and update methods
add arm command and state