constructor takes properties from builder