added hold and next piece functionality and comments on methods
merged