refactoring, testing, gemmifying