Finish implementing Apply