arguments validated and implemented