update ex47 with actual files, not boilerplate