after Yghor comments, value is now a class member. most variables are now private