added fill and some other improvements