initial commit of 0.4.0