Restructured files for seperate compilation