add precondition, cap function, multi action document.