Week7: implementation done