1. restructure the code of Skip and Take
2. remove the performance testing code to another source file
try to support channel for skip and take