solves #4