https://cursor.com/blog/cursor-3