copy now working properly, added command exceptions

changed the naming and methods around a bit, for more simplicity