converted to yeoman generator