add states and tests for them