Some fixes, some re-design, some TODOs added.