Major Refactory

blab