improved encapulation task