use cover method for speedup