just one remote call function
minor
temp keep the seprate four functions