Finish implementation part PS04