added ID property & method