completes solution v1