using cl removed
learning impl. factories implemented.