all three power definitions implemented