unfinished with bug add costs