finished basic input