Learn by contributing - the systematic approach