migrating PIM to framework