Changes architecture: now shell calls library methods