the most reccent version with my edits