can be soft or hard