use passed in val