trailing comma not needed and could probably be one line, but whatevs