add states prototype