A general purpose c++ programming framwork