Implemented working copy functions

Also added relevant documentation
Warning - untested!