added writing to Implementation