use cpp to make life easier