Functioning. Still needs smoothing