fix source files lookup and target requirement
-singleton instances now use smart pointer
add TODO file