Revamp

Just look at the code, not that hard,