project restructuring for better readability