add the hw2 self-writen component