artemis cpp port
some initial stuff
removing files that went in wrong branch