nicer solution