we probably don't need multiple states (removed that). added image subscriber