consolidating functionn