not compiling, but mostly implemented Shared learning code
not compiling, but mostly implemented Shared learning code