added pipelined controlunit, changed controlunit to interface