followed all godoc lint warnings