Implemented apply
Implemented map