First commit and basic functionality.