refactored language