Separated variables version