implement almost function