adjust it according to the assignment requirement