refactors gem files organization