working on smoothing and added in defaults for switch statements