refactor and added method that will copy to circular buffer.