all def works properly