flesh out initial concept, convert to c++