working readable interface