removed all cpp/imperative stuff