Reverse engineering, or whatever it's called, existing projects for learning purposes