modified for easy to read