version 1.5 - optimized and add new function(-r-c)