changed clone methods to use context-arg constructor