getters and setters works for factory. method [] finished