Finish implementation of Apply