restructure src