improvements based on sample solutions