remove old prototype
add rec as kw, minor code improvement
remove `try` in spString for huge performance win