gauge working update 1
gauge working update 2
gauge working update 2
bufferSIze need to be implemented