Made more generic.