circular buffer now uses 16 bit addressing