more closely resemble the satellite api, fix a bug in the process
update spec tests to account for clone method refactor