Complete the assignment according to instruction and put together with
an example to verify the implementation