layer2 after code review