constructor pattern notes