self power off functionality