Restructure the project and add Apache license