some refactoring to el-get