seems like a reasonable solution