add retrieve action and fix port error