fix param type
improve the method implementation