start of the application implementation