Cleaned up and added more detail