improved mread-object