[IMP] add related states and add prepare methods