now the proxy is returned instead of the future for model
refactored to package