removed a redundant method, and changed original method to cache