Fixed hw_split implementation