added new solutions by Sebastian