add usage text and basic input validation