Added supportState and requireState