This fixes #28 and fixes #26. It also annotate string for #27.