Add sound and make better portability