good point
this will part of refactoring the interface, defining cloning, attributes etc