Contact: minor design update and input validation