added rotate left and performance enhancements