implement basic sfx (still buggy)