initial gif impl.