abstract half done