plug framework mostly complete