add support for states