public fields changed to the properties. TODO: tight-decoupling; WPF