first pass on printer and priv models