usually a timing related problem (no power before certain rpm, but no problem with free revving)..
u have correct octane fuel? check knock sensor? any error code from ecu? check ignition system from distributor shaft, distributor cap, rotor, spark plug wire & spark plug? Your description really sounded like timing being too "retarded"