clone functions added