Initial, adds all described functionality.