state diagram added