initial commit with model classes