restructure for better naming