change method return type and add cross-build