added sonsole.read