revert tempaltes mess and fix binding issue and hack with arguments