minimise use memory method calls for arc/mrc hybrid code
id to instancetype
modernize and symplify
bump version number