Can now learn and generate weights