replaced readable with end