Add more sound and refactor