hardsoft