cleaned up hdl module api