power derivation added