這邊的敘述或許可以放到hpp的說明中