cleanup
Made state protected so subclasses can have more specific states.