changed clear function to reset marker to the initial memory address, added free to free the pointer
Merge remote-tracking branch 'origin/master'