improved demo and created audio module
updated to use setInterval