property and command implementation