Adding behavioral - template method impl