added a lot

also removed unnessesary this in cpp