move P to new structure
InvokeI with m
AccessI with Fs