changed folder structure
added privacy, fixed bug in validate input that caused infinite loop for invalid input, minor style change suggestions from code review