new solutions from warmup