restructure for ease of use