updated with variables