Majorly restructure source code
Update LICENSE