First rewrite of BIG
More rewrite