string: own implementation of strlen
error strategy: use setter to store errors