add todo items
remove optimization through EPT & update TODOs
add TODOs
using _WIN32 to replace PROFILING macro
split to different files