// base case - date is required for time entry
    class TimeEntry{
      Date date;
    }
class TimeEntry{
        Time startTime;
        Time endTime;
      }
class Project{
        String name;
      }
      association {
        0..1 Project <- * TimeEntry;
      }
class TimeEntry{
      String comment;
    }
association {
      0..1 Project parent  <- * Project;
    }
class Project{
      Double timeEstimate;
    }
class Project{
      Boolean archived;
    }
class Client{
      String name;
    }
    association {
      0..1 Client <- * Project;
    }
class Client{
      String emailAddress;
    }
class Client{
      String phoneNumber;
    }