adds validation, though unstyled