refactored several functions into getReadableName