abstract factory pattern with lambok and junit
junit and lambok dependency