Multiple large changes

Multiple large changes.
> Fixed file hierarchy
> Added multiple functions