added drive and wait functions
added asserts to user-callable functions
added song functions