add support for default values and update the readme. Also fix the spec so that all run