only some reformatting for readability