lots of changes to make it more appealing and readable