re-factor for styling and simplified by removing DP, just HDP is implemented