added separate attached property and behavior