implemented writeAroudn