modifing type return