implement track copy function