complete both versions