needs a . to be valid