use map to implement fapPool