learning variables