major rewite underway
major rewrite done