soft&hard