adding some learning stuff