updated port framework