partial class definitions