coursework no3: dynamic data structures, higher level methods, interfaces.