added TP loading and GPP dependent on TP