added an open state cause you just have to yknow