add weak and para