user modified to fit in with spec