works more or less

needs optimising. correctly detects and tracks the CD case