Some changes

Some changes, Much refactoring needs to be done.