update to make generic