Done as I can. TODO: Clean files.