sketch proper field abstraction