improve repo structure