sound works, cleaned up code, shield works correctly, more OO