partial afp implementation