Complete Refactoring of the code
Added sound and reset capability