finishing up are_readable implementation. This is untested