close #125 + mv 2p exp func to separate func