Initial update implementation.

Also changed file structure.