c++style readin, needs to be refined