Initial upload containing refactors and webapp structure.