Rewritten, using variables