I put all of them into one block to simplify the code, is kernel should be separated from network utils?