add Optional Strategy. closed #12.