commenting code
TODO improvements