simplify constructors
safer read
use lowercase header file name
fix output