* inputs are now flagged as required * handle empty input more elegantly * don't preformat the setMessage contents * cleanup some hamlet