this is Power.java