documenting and debuging