finished basic validation