added property implementation