refactoring to 19995 characters