implemented alternate fp generation method